package com.frogs.ucenter.entity;

import java.io.Serializable;
import java.util.Date;

import com.frogs.system.util.UserMessageStatusEnum;

public class UserMessageSmsVerifyCode implements Serializable {
    private static final long serialVersionUID = 7791127490937376544L;

    /**
     * This field corresponds to the database column user_message_sms_verify_code.id
     */
    private Integer id = 0;

    /**
     * This field corresponds to the database column user_message_sms_verify_code.phone
     */
    private String phone;

    /**
     * This field corresponds to the database column user_message_sms_verify_code.verify_code
     */
    private String verifyCode;

    /**
     * This field corresponds to the database column user_message_sms_verify_code.status
     */
    private Integer status = UserMessageStatusEnum.UNVERIFY.getId();

    /**
     * This field corresponds to the database column user_message_sms_verify_code.create_time
     */
    private Date createTime = new Date();

    /**
     * This field corresponds to the database column user_message_sms_verify_code.send_num
     */
    private Integer sendNum = 0;

    /**
     * This field corresponds to the database column user_message_sms_verify_code.valid_time
     */
    private Date validTime = new Date();

    /**
     * This field corresponds to the database column user_message_sms_verify_code.error_num
     */
    private Integer errorNum = 0;
    
    private Integer applicablePlatformId;

    private Integer operation = SendOperationEnum.DEFAULT.getValue();
    
    public enum SendOperationEnum {
		/**
		 * 默认
		 */
		DEFAULT(0),
		/**
		 * 注册
		 */
		REGISTER(1),
		/**
		 * 绑定
		 */
		BIND(2),
		/**
		 * 找回密码
		 */
		FIND_PASSWORD(3),
		/**
		 * 登录
		 */
		LOGIN(4),
		/**
		 * 支付
		 */
		PAY(5),
		/**
		 * 联合注册
		 */
		OPEN_PLATFORM_REGISTER(6),
		/**
		 * 兑吧后台订单审核
		 */
		AUDIT(7),
		;
		// 定义私有变量
		private int nCode;

		private SendOperationEnum(int _nCode) {
			this.nCode = _nCode;
		}

		public int getValue() {
			return nCode;
		}
	};
    
    /**
     * This method returns the value of the database column user_message_sms_verify_code.id
     *
     * @return the value of user_message_sms_verify_code.id
     */
    public Integer getId() {
        return id;
    }

    /**
     * This method sets the value of the database column user_message_sms_verify_code.id
     *
     * @param id the value for user_message_sms_verify_code.id
     */
    public void setId(Integer id) {
        this.id = id;
    }

    /**
     * This method returns the value of the database column user_message_sms_verify_code.phone
     *
     * @return the value of user_message_sms_verify_code.phone
     */
    public String getPhone() {
        return phone;
    }

    /**
     * This method sets the value of the database column user_message_sms_verify_code.phone
     *
     * @param phone the value for user_message_sms_verify_code.phone
     */
    public void setPhone(String phone) {
        this.phone = phone;
    }

    /**
     * This method returns the value of the database column user_message_sms_verify_code.verify_code
     *
     * @return the value of user_message_sms_verify_code.verify_code
     */
    public String getVerifyCode() {
        return verifyCode;
    }

    /**
     * This method sets the value of the database column user_message_sms_verify_code.verify_code
     *
     * @param verifyCode the value for user_message_sms_verify_code.verify_code
     */
    public void setVerifyCode(String verifyCode) {
        this.verifyCode = verifyCode;
    }

    /**
     * This method returns the value of the database column user_message_sms_verify_code.status
     *
     * @return the value of user_message_sms_verify_code.status
     */
    public Integer getStatus() {
        return status;
    }

    /**
     * This method sets the value of the database column user_message_sms_verify_code.status
     *
     * @param status the value for user_message_sms_verify_code.status
     */
    public void setStatus(Integer status) {
        this.status = status;
    }

    /**
     * This method returns the value of the database column user_message_sms_verify_code.create_time
     *
     * @return the value of user_message_sms_verify_code.create_time
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * This method sets the value of the database column user_message_sms_verify_code.create_time
     *
     * @param createTime the value for user_message_sms_verify_code.create_time
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * This method returns the value of the database column user_message_sms_verify_code.send_num
     *
     * @return the value of user_message_sms_verify_code.send_num
     */
    public Integer getSendNum() {
        return sendNum;
    }

    /**
     * This method sets the value of the database column user_message_sms_verify_code.send_num
     *
     * @param sendNum the value for user_message_sms_verify_code.send_num
     */
    public void setSendNum(Integer sendNum) {
        this.sendNum = sendNum;
    }

    /**
     * This method returns the value of the database column user_message_sms_verify_code.valid_time
     *
     * @return the value of user_message_sms_verify_code.valid_time
     */
    public Date getValidTime() {
        return validTime;
    }

    /**
     * This method sets the value of the database column user_message_sms_verify_code.valid_time
     *
     * @param validTime the value for user_message_sms_verify_code.valid_time
     */
    public void setValidTime(Date validTime) {
        this.validTime = validTime;
    }

    /**
     * This method returns the value of the database column user_message_sms_verify_code.error_num
     *
     * @return the value of user_message_sms_verify_code.error_num
     */
    public Integer getErrorNum() {
        return errorNum;
    }

    /**
     * This method sets the value of the database column user_message_sms_verify_code.error_num
     *
     * @param errorNum the value for user_message_sms_verify_code.error_num
     */
    public void setErrorNum(Integer errorNum) {
        this.errorNum = errorNum;
    }

	public Integer getOperation() {
		return operation;
	}

	public void setOperation(Integer operation) {
		this.operation = operation;
	}

	public Integer getApplicablePlatformId() {
		return applicablePlatformId;
	}

	public void setApplicablePlatformId(Integer applicablePlatformId) {
		this.applicablePlatformId = applicablePlatformId;
	}
	
}